<?php
use Phalcon\Di\FactoryDefault;
use Phalcon\Session\Adapter\Redis as SessionRreis;
use PLibrary\TConfig;
error_reporting(E_ALL);
header("Content-Type:text/html;charset=UTF-8");
date_default_timezone_set('PRC');
define('BASE_PATH', dirname(__DIR__));
define('APP_PATH', BASE_PATH . '/app');

try {

    /**
     * The FactoryDefault Dependency Injector automatically registers
     * the services that provide a full stack framework.
     */
    $di = new FactoryDefault();

    /**
     * Handle routes
     */
    include APP_PATH . '/config/router.php';

    /**
     * Read services
     */
    include APP_PATH . '/config/services.php';

    /**
     * Get config service for use in inline setup below
     */
    $config = $di->getConfig();
    /**
     * Include Autoloader
     */
    include APP_PATH . '/config/loader.php';
    
    //session 注册
    $di->setShared('session', new SessionRreis($config->sessionConfig->toArray()));
    $di->get('session')->start();
    /**
     * Handle the request
     */
    $application = new \Phalcon\Mvc\Application($di);
    
    //初始化配置文件(自定义config类)
    TConfig::instance()->setAll($config);
    
  
    echo str_replace(["\n","\r","\t"], '', $application->handle()->getContent());

} catch (\Exception $e) {
    echo $e->getMessage() . '<br>';
    echo '<pre>' . $e->getTraceAsString() . '</pre>';
}
